package com.tencent.welink.api.space.object.geo;

import com.tencent.welink.api.OpenApiTokenChange;
import com.tencent.welink.api.base.WelinkOpenApi;
import com.tencent.welink.config.BussinessConfig;
import com.tencent.welink.util.CrontabUtil;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;

import java.util.Map;

/**
 * @Description: 批量查询地理对象
 * 功能描述
 * 批量返回某个空间范围内的所有对象列表，如：某栋建筑的所有楼层（level7）、某层楼的所有房间（level8）、某个房间内的某种设备（level9）等。
 * @Author: limye
 * @CreateDate: 2020-6-9
 * @Version: V1.0
 */
public class GetGeoSubObjects extends WelinkOpenApi {

    private static final Logger log = LogManager.getLogger(GetGeoSubObjects.class);

    public GetGeoSubObjects(){
        super("/space/geo/object/getGeoSubObjects",true);
    }


    @Override
    public void displayResult(String result) {
    }


    public static void main(String[] args) {
        new BussinessConfig();
        CrontabUtil.addTaskInRate(new OpenApiTokenChange(), BussinessConfig.loginDurationMinutes,true);

        //实例化对象
        GetGeoSubObjects instance = new GetGeoSubObjects();

        /**
         * 参数名	类型	必填	数据约束	描述
         * token	String	是	非空且长度固定128个字符	动态密钥，有效期20分钟，需重新登录
         * wId	String	是	非空且长度固定36位	对象的唯一标识，例如填入大厦wid或者楼层wid
         * poiCode	String	是	不超过64个字符	分类编码，详见2.2.9查询分类编码接口，
         * 例如：洗手间m00201、车位号m00500000、照明灯具w0107006
         * level	String	是		7（楼层）、8（房间）、9（设备点）
         * name	String	否
         * project_id	String	否	非空	项目编号
         */
        //添加参数
        Map<String,Object> map = instance.getExtendsPara();
        map.put("wId","a66348f2-0700-1000-abcd-35269c4636aa");
        map.put("poiCode","m");
        map.put("level",8);

        //执行HTTP请求及展示结果
        instance.DoHttp();
        CrontabUtil.shutdown();

    }
}
